package cc.vicp.djx314.starfood.service.dishes;

import java.util.List;

import cc.vicp.djx314.starfood.domain.dish.Dish;

/**
 * 各种推荐菜式操作类，加上@Repository注解使得本类的全部数据库异常转化为
 * org.springframework.dao.DataAccessException或其子类以得到一致的异常操作，但是mybatis不会转换
 * @author 水山清风
 *
 */
public interface RecommendDishesService {
	/**
	 * 首页优惠特卖菜式数量
	 */
	public static final Integer PREFERENTIAL_NUM = 4;
	/**
	 * 首页本店热销菜式数量
	 */
	public static final Integer HOT_SELL_NUM = 2;
	/**
	 * 首页收藏最多菜式数量
	 */
	public static final Integer COLLECTION_NUM = 2;
	/**
	 * 优惠特卖菜式数据库排名种类名
	 */
	public static final String PREFERENTIAL_NAME = "preferential";
	/**
	 * 本店热销菜式数据库排名种类名
	 */
	public static final String HOT_SELL_NAME = "hotSell";
	/**
	 * 收藏最多菜式数据库排名种类名
	 */
	public static final String COLLECTION_NAME = "collection";
	/**
	 * 返回首页本店推荐的菜式
	 * @return 返回首页本店推荐的菜式
	 * @throws NumberNotRightException 
	 */
	public List<Dish> getPreferentialDishes();

	/**
	 * 返回本店热销菜式
	 * @return 返回本店热销菜式
	 * @throws NumberNotRightException 
	 */
	public List<Dish> getHotSellDishes();

	/**
	 * 返回收藏最多菜式
	 * @return 返回收藏最多菜式
	 * @throws NumberNotRightException 
	 */
	public List<Dish> getCollectionDishes();
}